package fileHomeWork.day03;

import java.io.*;
import java.util.Arrays;

/**
 * 扫描指定目录中的所有.java文件，并将内容全部输出到控制台
 * <p>
 * 例如将当前项目目录下src/main/java/io目录中的所有java文件内容输出
 * 到控制台
 * <p>
 * 1:先要定位./src/main/java/io目录(哪个API用来描述目录?)
 * 2:获取该目录下的所有.java文件
 * 3:遍历每一个java文件，然后按行读取里面的每一行字符串
 * 并输出控制台
 *
 * @author Xiloer
 */
public class Test03 {
    public static void main(String[] args) throws IOException {
        File file = new File("./src/main/java/io");
        File[] filename = file.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.getName().endsWith(".java");
            }
        });
        for (File f :
                filename) {
            FileInputStream fileInputStream = new FileInputStream(f);
            InputStreamReader isr = new InputStreamReader(fileInputStream);
            BufferedReader bufferedReader = new BufferedReader(isr);
            String str;
            System.out.println("一共有:" + filename.length + "个文件");
            System.out.println("当前为" + f.getName());
            while ((str = bufferedReader.readLine()) != null) {
                System.out.println(str);
            }
            bufferedReader.close();
        }

    }
}
